package com.lms.collection.set;

import java.util.Arrays;
import java.util.HashSet;
import java.util.stream.Stream;

/**
 * @Author: 李孟帅
 * @CreateTime: 2020-06-09 07:08
 * @Description:
 */
public class HashSetDemo {
    public static void main(String[] args) {
        //构造一个新的空集合; 背景HashMap实例具有默认初始容量（16）和负载因子（0.75）。
        HashSet<Object> set = new HashSet<>();
        //构造一个新的空集合; 背景HashMap实例具有指定的初始容量和默认负载因子（0.75）。
        HashSet<Object> objects = new HashSet<>(8);
        //构造一个新的空集合; 背景HashMap实例具有指定的初始容量和指定的负载因子。
        HashSet<Object> objects1 = new HashSet<>(8, 0.8f);
        //构造一个包含指定集合中的元素的新集合。
        HashSet<Integer> integers = new HashSet<>(Arrays.asList(1, 2));

        boolean add = set.add(1);
        set.clear();
        //返回此 HashSet实例的浅层副本：元素本身不被克隆。 相当于两个set指向同一个map集合
        Object clone = set.clone();
        boolean empty = set.isEmpty();
        int size = set.size();
        boolean remove = set.remove(1);
        set.forEach(System.out::println);
        Stream<Object> stream = set.stream();
        Stream<Object> objectStream = set.parallelStream();

        boolean add1 = set.add(2);
        boolean add2 = set.add(2);
        System.out.println(add1);
        System.out.println(add2);
        System.out.println(set);


    }
}
